package org.ala.shopping_test.user_center.repository.user.query;

import java.util.List;
import org.ala.shopping_test.user_center.repository.user.entity.UserBuyerDO;
import java.util.ArrayList;
import java.io.Serializable;

/**
 *	Query (user_buyer)
 *  品类表
 *
 *	@author 骆毅 (ala)
 *	@date 2025-03-24 15:03:46
 */
public class UserBuyerQuery extends UserBuyerDO implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 1L;

    /**
     *  买家id
     */
    protected Long id;
    protected List<Long> idIn;
    protected Long idGt;
    protected Long idGte;
    protected Long idLt;
    protected Long idLte;
    /**
     *  买家名称
     */
    protected String buyerName;
    protected List<String> buyerNameIn;
    protected String buyerNameXLike;
    protected String buyerNameXLeft;
    protected String buyerNameXRight;
    /**
     *  买家评级
     */
    protected Integer buyerLevel;
    protected List<Integer> buyerLevelIn;
    protected Integer buyerLevelGt;
    protected Integer buyerLevelGte;
    protected Integer buyerLevelLt;
    protected Integer buyerLevelLte;
    /**
     *  记录创建时间
     */
    protected Long createTime;
    protected List<Long> createTimeIn;
    protected Long createTimeGt;
    protected Long createTimeGte;
    protected Long createTimeLt;
    protected Long createTimeLte;
    /**
     *  记录最后修改时间
     */
    protected Long modifyTime;
    protected List<Long> modifyTimeIn;
    protected Long modifyTimeGt;
    protected Long modifyTimeGte;
    protected Long modifyTimeLt;
    protected Long modifyTimeLte;


    public static UserBuyerQuery build() {return new UserBuyerQuery();}


    public Long getId() {return id;}
    public void setId(Long id) { this.id = id; }
    public UserBuyerQuery id(Long id) { this.id = id; return this; }

    public List<Long> getIdIn() {return idIn;}
    public void setIdIn(List<Long> idIn) { this.idIn = idIn; }
    public UserBuyerQuery idIn(List<Long> idIn) { this.idIn = idIn; return this; }
    public UserBuyerQuery idAppend(Long id) { if (idIn == null) { idIn = new ArrayList<>(); } idIn.add(id); return this; }

    public Long getIdGt() {return idGt;}
    public void setIdGt(Long idGt) { this.idGt = idGt; }
    public UserBuyerQuery idGt(Long idGt) { this.idGt = idGt; return this; }

    public Long getIdGte() {return idGte;}
    public void setIdGte(Long idGte) { this.idGte = idGte; }
    public UserBuyerQuery idGte(Long idGte) { this.idGte = idGte; return this; }

    public Long getIdLt() {return idLt;}
    public void setIdLt(Long idLt) { this.idLt = idLt; }
    public UserBuyerQuery idLt(Long idLt) { this.idLt = idLt; return this; }

    public Long getIdLte() {return idLte;}
    public void setIdLte(Long idLte) { this.idLte = idLte; }
    public UserBuyerQuery idLte(Long idLte) { this.idLte = idLte; return this; }


    public String getBuyerName() {return buyerName;}
    public void setBuyerName(String buyerName) { this.buyerName = buyerName; }
    public UserBuyerQuery buyerName(String buyerName) { this.buyerName = buyerName; return this; }

    public List<String> getBuyerNameIn() {return buyerNameIn;}
    public void setBuyerNameIn(List<String> buyerNameIn) { this.buyerNameIn = buyerNameIn; }
    public UserBuyerQuery buyerNameIn(List<String> buyerNameIn) { this.buyerNameIn = buyerNameIn; return this; }
    public UserBuyerQuery buyerNameAppend(String buyerName) { if (buyerNameIn == null) { buyerNameIn = new ArrayList<>(); } buyerNameIn.add(buyerName); return this; }

    public String getBuyerNameXLike() {return buyerNameXLike;}
    public void setBuyerNameXLike(String buyerNameXLike) { this.buyerNameXLike = buyerNameXLike; }
    public UserBuyerQuery buyerNameXLike(String buyerNameXLike) { this.buyerNameXLike = buyerNameXLike; return this; }

    public String getBuyerNameXLeft() {return buyerNameXLeft;}
    public void setBuyerNameXLeft(String buyerNameXLeft) { this.buyerNameXLeft = buyerNameXLeft; }
    public UserBuyerQuery buyerNameXLeft(String buyerNameXLeft) { this.buyerNameXLeft = buyerNameXLeft; return this; }

    public String getBuyerNameXRight() {return buyerNameXRight;}
    public void setBuyerNameXRight(String buyerNameXRight) { this.buyerNameXRight = buyerNameXRight; }
    public UserBuyerQuery buyerNameXRight(String buyerNameXRight) { this.buyerNameXRight = buyerNameXRight; return this; }


    public Integer getBuyerLevel() {return buyerLevel;}
    public void setBuyerLevel(Integer buyerLevel) { this.buyerLevel = buyerLevel; }
    public UserBuyerQuery buyerLevel(Integer buyerLevel) { this.buyerLevel = buyerLevel; return this; }

    public List<Integer> getBuyerLevelIn() {return buyerLevelIn;}
    public void setBuyerLevelIn(List<Integer> buyerLevelIn) { this.buyerLevelIn = buyerLevelIn; }
    public UserBuyerQuery buyerLevelIn(List<Integer> buyerLevelIn) { this.buyerLevelIn = buyerLevelIn; return this; }
    public UserBuyerQuery buyerLevelAppend(Integer buyerLevel) { if (buyerLevelIn == null) { buyerLevelIn = new ArrayList<>(); } buyerLevelIn.add(buyerLevel); return this; }

    public Integer getBuyerLevelGt() {return buyerLevelGt;}
    public void setBuyerLevelGt(Integer buyerLevelGt) { this.buyerLevelGt = buyerLevelGt; }
    public UserBuyerQuery buyerLevelGt(Integer buyerLevelGt) { this.buyerLevelGt = buyerLevelGt; return this; }

    public Integer getBuyerLevelGte() {return buyerLevelGte;}
    public void setBuyerLevelGte(Integer buyerLevelGte) { this.buyerLevelGte = buyerLevelGte; }
    public UserBuyerQuery buyerLevelGte(Integer buyerLevelGte) { this.buyerLevelGte = buyerLevelGte; return this; }

    public Integer getBuyerLevelLt() {return buyerLevelLt;}
    public void setBuyerLevelLt(Integer buyerLevelLt) { this.buyerLevelLt = buyerLevelLt; }
    public UserBuyerQuery buyerLevelLt(Integer buyerLevelLt) { this.buyerLevelLt = buyerLevelLt; return this; }

    public Integer getBuyerLevelLte() {return buyerLevelLte;}
    public void setBuyerLevelLte(Integer buyerLevelLte) { this.buyerLevelLte = buyerLevelLte; }
    public UserBuyerQuery buyerLevelLte(Integer buyerLevelLte) { this.buyerLevelLte = buyerLevelLte; return this; }


    public Long getCreateTime() {return createTime;}
    public void setCreateTime(Long createTime) { this.createTime = createTime; }
    public UserBuyerQuery createTime(Long createTime) { this.createTime = createTime; return this; }

    public List<Long> getCreateTimeIn() {return createTimeIn;}
    public void setCreateTimeIn(List<Long> createTimeIn) { this.createTimeIn = createTimeIn; }
    public UserBuyerQuery createTimeIn(List<Long> createTimeIn) { this.createTimeIn = createTimeIn; return this; }
    public UserBuyerQuery createTimeAppend(Long createTime) { if (createTimeIn == null) { createTimeIn = new ArrayList<>(); } createTimeIn.add(createTime); return this; }

    public Long getCreateTimeGt() {return createTimeGt;}
    public void setCreateTimeGt(Long createTimeGt) { this.createTimeGt = createTimeGt; }
    public UserBuyerQuery createTimeGt(Long createTimeGt) { this.createTimeGt = createTimeGt; return this; }

    public Long getCreateTimeGte() {return createTimeGte;}
    public void setCreateTimeGte(Long createTimeGte) { this.createTimeGte = createTimeGte; }
    public UserBuyerQuery createTimeGte(Long createTimeGte) { this.createTimeGte = createTimeGte; return this; }

    public Long getCreateTimeLt() {return createTimeLt;}
    public void setCreateTimeLt(Long createTimeLt) { this.createTimeLt = createTimeLt; }
    public UserBuyerQuery createTimeLt(Long createTimeLt) { this.createTimeLt = createTimeLt; return this; }

    public Long getCreateTimeLte() {return createTimeLte;}
    public void setCreateTimeLte(Long createTimeLte) { this.createTimeLte = createTimeLte; }
    public UserBuyerQuery createTimeLte(Long createTimeLte) { this.createTimeLte = createTimeLte; return this; }


    public Long getModifyTime() {return modifyTime;}
    public void setModifyTime(Long modifyTime) { this.modifyTime = modifyTime; }
    public UserBuyerQuery modifyTime(Long modifyTime) { this.modifyTime = modifyTime; return this; }

    public List<Long> getModifyTimeIn() {return modifyTimeIn;}
    public void setModifyTimeIn(List<Long> modifyTimeIn) { this.modifyTimeIn = modifyTimeIn; }
    public UserBuyerQuery modifyTimeIn(List<Long> modifyTimeIn) { this.modifyTimeIn = modifyTimeIn; return this; }
    public UserBuyerQuery modifyTimeAppend(Long modifyTime) { if (modifyTimeIn == null) { modifyTimeIn = new ArrayList<>(); } modifyTimeIn.add(modifyTime); return this; }

    public Long getModifyTimeGt() {return modifyTimeGt;}
    public void setModifyTimeGt(Long modifyTimeGt) { this.modifyTimeGt = modifyTimeGt; }
    public UserBuyerQuery modifyTimeGt(Long modifyTimeGt) { this.modifyTimeGt = modifyTimeGt; return this; }

    public Long getModifyTimeGte() {return modifyTimeGte;}
    public void setModifyTimeGte(Long modifyTimeGte) { this.modifyTimeGte = modifyTimeGte; }
    public UserBuyerQuery modifyTimeGte(Long modifyTimeGte) { this.modifyTimeGte = modifyTimeGte; return this; }

    public Long getModifyTimeLt() {return modifyTimeLt;}
    public void setModifyTimeLt(Long modifyTimeLt) { this.modifyTimeLt = modifyTimeLt; }
    public UserBuyerQuery modifyTimeLt(Long modifyTimeLt) { this.modifyTimeLt = modifyTimeLt; return this; }

    public Long getModifyTimeLte() {return modifyTimeLte;}
    public void setModifyTimeLte(Long modifyTimeLte) { this.modifyTimeLte = modifyTimeLte; }
    public UserBuyerQuery modifyTimeLte(Long modifyTimeLte) { this.modifyTimeLte = modifyTimeLte; return this; }



    /**
     *  是否为空
     *  <p> 仅仅是每个字段的为空检测。若存在特殊空判，需要自行实现
     */
    public boolean isEmpty() {
        if (id != null) {return false;}
        if (idIn != null && !idIn.isEmpty()) {return false;}
        if (idGt != null ) {return false;}
        if (idGte != null ) {return false;}
        if (idLt != null ) {return false;}
        if (idLte != null ) {return false;}
        if (buyerName != null) {return false;}
        if (buyerNameIn != null && !buyerNameIn.isEmpty()) {return false;}
        if (buyerNameXLike != null && buyerNameXLike.isEmpty()) {return false;}
        if (buyerNameXLeft != null && buyerNameXLeft.isEmpty()) {return false;}
        if (buyerNameXRight != null && buyerNameXRight.isEmpty()) {return false;}
        if (buyerLevel != null) {return false;}
        if (buyerLevelIn != null && !buyerLevelIn.isEmpty()) {return false;}
        if (buyerLevelGt != null ) {return false;}
        if (buyerLevelGte != null ) {return false;}
        if (buyerLevelLt != null ) {return false;}
        if (buyerLevelLte != null ) {return false;}
        if (createTime != null) {return false;}
        if (createTimeIn != null && !createTimeIn.isEmpty()) {return false;}
        if (createTimeGt != null ) {return false;}
        if (createTimeGte != null ) {return false;}
        if (createTimeLt != null ) {return false;}
        if (createTimeLte != null ) {return false;}
        if (modifyTime != null) {return false;}
        if (modifyTimeIn != null && !modifyTimeIn.isEmpty()) {return false;}
        if (modifyTimeGt != null ) {return false;}
        if (modifyTimeGte != null ) {return false;}
        if (modifyTimeLt != null ) {return false;}
        if (modifyTimeLte != null ) {return false;}
        return true;
    }
    /**
     *  copy（注：这是浅拷贝）
     */
    public UserBuyerQuery copy() {
        UserBuyerQuery copy = new UserBuyerQuery();
        copy.id = id;
        copy.idIn = idIn;
        copy.idGt = idGt;
        copy.idGte = idGt;
        copy.idLt = idLt;
        copy.idLte = idLte;
        copy.buyerName = buyerName;
        copy.buyerNameIn = buyerNameIn;
        copy.buyerNameXLike = buyerNameXLike;
        copy.buyerNameXLeft = buyerNameXLeft;
        copy.buyerNameXRight = buyerNameXRight;
        copy.buyerLevel = buyerLevel;
        copy.buyerLevelIn = buyerLevelIn;
        copy.buyerLevelGt = buyerLevelGt;
        copy.buyerLevelGte = buyerLevelGt;
        copy.buyerLevelLt = buyerLevelLt;
        copy.buyerLevelLte = buyerLevelLte;
        copy.createTime = createTime;
        copy.createTimeIn = createTimeIn;
        copy.createTimeGt = createTimeGt;
        copy.createTimeGte = createTimeGt;
        copy.createTimeLt = createTimeLt;
        copy.createTimeLte = createTimeLte;
        copy.modifyTime = modifyTime;
        copy.modifyTimeIn = modifyTimeIn;
        copy.modifyTimeGt = modifyTimeGt;
        copy.modifyTimeGte = modifyTimeGt;
        copy.modifyTimeLt = modifyTimeLt;
        copy.modifyTimeLte = modifyTimeLte;
        return copy;
    }
}
